﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using WMSSoft.Lib.WinKStart.Abstract;

namespace WMSSoft.Lib.WinKStart.Model.MenuConfig
{
    [Serializable()]
    public class CContentConfig : CModelBase
    {
        List<DataSource> _ListDataSources = null;
        List<SearchEngineItem> _SearchEngines = null;
        List<cWinKStartContextMenuItem> _ContextMenuItems = null;
        List<CContextMenuTargetItem> _ContextMenuTargetItems = null;
        List<cWinKStartAction> _ListACtions = null;
        List<cWinKStartFunction> _Functions = null;
        List<cRegion> _Regions = null;
        int _NextMenuID = -1;

        public CContentConfig(int NextMenuID) 
        {
            _NextMenuID = NextMenuID;
        }

        public List<DataSource> DataSources
        {
            get { return _ListDataSources; }
            set
            {
                _ListDataSources = value;
                OnPropertyChanged();
            }
        }

        public List<SearchEngineItem> SearchEngines
        {
            get { return _SearchEngines; }
            set 
            {
                _SearchEngines = value;
                OnPropertyChanged();
            }
        }

        public List<cWinKStartContextMenuItem> ContextMenus
        {
            get { return _ContextMenuItems; }
            set { _ContextMenuItems = value; }
        }

        public List<CContextMenuTargetItem> ContextMenuTargets {
            get { return _ContextMenuTargetItems; }
            set
            {
                _ContextMenuTargetItems = value;
                OnPropertyChanged();
            }
        }

        public List<cWinKStartAction> Actions
        {
            get { return _ListACtions; }
            set
            {
                _ListACtions = value;
                OnPropertyChanged();
            }
        }

        public List<cWinKStartFunction> Functions
        {
            get { return _Functions; }
            set 
            {
                _Functions = value;
                OnPropertyChanged();
            }
        }

        public List<cRegion> Regions
        {
            get { return _Regions; }
            set
            {
                _Regions = value;
                OnPropertyChanged();
            }
        }

        public int NextMenuID
        {
            get { return _NextMenuID; }
            set 
            { 
                _NextMenuID = value;
                OnPropertyChanged();
            }
        }

    }
}
